package com.dwzlab.test;

class Egg2 {
	
	private Yolk y = new Yolk();
	
	protected class Yolk{
		public Yolk(){
			System.out.println("Egg2.Yolk()");
		}
		public void f(){
			System.out.println("Egg2.Yolk.f()");
		}
	}
	public Egg2(){
		System.out.println("New Egg2()");
	}
	public void insertYolk(Yolk yy){
		this.y = yy;
	}
	public void g(){
		y.f();
	}
}

public class BigEgg2 extends Egg2{
	
	protected class Yolk extends Egg2.Yolk{
		public Yolk(){
			System.out.println("BigEgg2.Yolk()");
		}
		public void f(){
			System.out.println("BigEgg2.Yolk.f()");
		}
	}
	
	public BigEgg2(){
		insertYolk(new Yolk());
	}
	
	public static void main(String[] args) {
		Egg2 e2 = new BigEgg2();
		e2.g();
	}
}